import java.util.Scanner;

public class bill {
    public static void main(String[] args){
        String[][] note = new String[100][4];// 序号 时间 金额 类别

        int o=0;
        int input=1;
        Scanner sc=new Scanner(System.in);
        boolean k = true;
        while(k){
            meau();
            input=sc.nextInt();
            switch(input)
            {
                case 1:
                    Accounting(note,o);
                    o++;
                    Audit(note,o);
                    break;
                case 2:
                    Audit(note,o);

                    break;
                case 3:
                    Delete(note,o);
                    o--;
                    Audit(note,o);

                    break;
                case 4:
                    Alterations(note,o);
                    break;
                case 0:
                    k=false;
                    break;
            }




        }


    }
    public static void meau(){
        System.out.println("***********管家婆记账**********");
        System.out.println("**********  1.记账  **********");
        System.out.println("**********  2.查账  **********");
        System.out.println("**********  3.删账  **********");
        System.out.println("**********  4.改账  **********");
        System.out.println("**********  0.退出  **********");
        System.out.println("***********请输入选项**********");

    }
    public static void Accounting(String[][] note,int v){
        System.out.print("请输入 时间 金额 类别（1：收入，0:支出）并用空格隔开:");
        //后续将添加根据用户写入的序号自动排序功能
        Scanner sc_1=new Scanner(System.in);
        String[] date=new String[4];
        date[0]=(v+1)+" "+sc_1.nextLine();
        note[v]=date[0].split(" ");




    }
    public static void  Audit(String[][] note,int v){
        System.out.println("账单列表");
        System.out.println("....................................................");
        for(int i=0;i<v;i++){
            int j=0;
            System.out.print("序号:"+note[i][j]+"  时间:"+note[i][j+1]+"  金额:"+note[i][j+2]+"  类别(1：收入，0:支出):"+note[i][j+3]);
            System.out.println();
        }
        System.out.println("....................................................");

    }
    public static void Delete(String[][] note,int v){
        Audit(note,v);
        System.out.print("请选择你要删除的账目的序号:");
        Scanner sc_2=new Scanner(System.in);
        int n=sc_2.nextInt();
        int m=n;
//    ❎
        for(int i=0;i<v-n;i++){

            String numberStr = Integer.toString(m);
              note[m-1]=note[m];
              note[m-1][0]=numberStr;
                m++;
                //n变了条件也变了
        }
        note[v-1]=null;

//        for(int i=0;i<=v-2;i++)
//        {
//            if(i>=n-1){
//                String numberStr = Integer.toString(i+1);
//                note[i]=note[i+1];
//                note[i][0]=numberStr;
//            }
//        }
//        note[v-1]=null;

//        for(int i=0;i<=v;i++)
//        {
//            if(i>=n-1){
//                String numberStr = Integer.toString(i+1);
//                note[i]=note[i+1];
//                note[i][0]=numberStr;
//            }
//        }
//        note[v]=null;


    }
    public static void Alterations(String[][] note,int v){

        System.out.print("请输入你要改账目的序号:");
        Scanner sc_3=new Scanner(System.in);
        int m=sc_3.nextInt();
        System.out.print("请输入你要改的项目(时间为1，金额为2，类别为3):");
        int q=sc_3.nextInt();
        System.out.print("请输入你要改入的值:");
        String w=sc_3.next();
        note[m-1][q]=w;

        Audit(note,v);

    }
}
